#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int x = n;
	int o = n;
	printf("%d\n", n);
	if (n % 2 == 1)
		o = n % 2 + 1;
	else
		o = n / 2;
	while (x-- && x >= o)
	{
		int q = n - x;
		int m = q;
		int z = n;
		int g = m;
		while (g > 0)
		{
			printf("%d", x);

			m = g;
			q = n - x;
			for (m; m > 0; m--)
			{
				while (q - m >= 0)
				{
					printf("+%d", m);
					q = q - m;
				}

			}
			g--;
			printf("\n");

		}

	}
	x++;
	while ( x > 0&& x--)
	{
		int q = x ;
		int m = q;
		int z = n-q;
		int g = m;
		while (g > 0)
		{
			z = n - q;
			if (n % g == 0&&g>1)
			{
				printf("%d", g);
				while (z - g>= 0)
				{
					printf("+%d", g);
					z = z - g;
				}
				printf("\n");

			}
				printf("%d", x);
				m = g;
				q = n - x;
				for (m; m > 0; m--)
				{
					while (q - m >= m-1)
					{
						printf("+%d", m);
						q = q - m;
					}

				}

				g--;
				printf("\n");
		}
		//printf("\n");

		
	}
}